﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Bibilioteca.DataAccess;
using Bibilioteca.Models;
using System.Data;

namespace Bibilioteca.Dominio
{
    public class NegocioLogin
    {
        private NegocioSocios socios;

        public NegocioLogin()
        {
            socios = new NegocioSocios();
        }

        public Socio validarUsuario(string user, string pass)
        {
            Socio s = socios.GetSocioConUsername(user);
            if(s.Id<=0)
                return s; //No existe el user.
            if (s.cuenta.Password.Equals(pass))
                return s;//Coinciden los passwords, login correcto.
            else //Login incorrecto.
                return new Socio(0, "no existe", "no existe", "no existe", "no existe");
        }

        public bool esAdmin(Socio s)
        {
            if (s.Id <= 0)
                return false;
            else return s.cuenta.esAdmin;
        }


        public bool permisosAdmin(HttpSessionStateBase Session)
        {
            if (Session["esAdmin"] == null || !Convert.ToBoolean(Session["esAdmin"]))
                return false;
            return true;
        }

        public bool permisosSocio(HttpSessionStateBase Session)
        {
            //if (Session["esAdmin"] == null || Convert.ToBoolean(Session["esAdmin"]))
            //    return false; //Si no esta logueado, o si esta logueado pero es admin.
            if (Session["esAdmin"] == null)
                return false; //Con el solo hecho de estar logueado, ya se considera un socio
            return true;    //independientemente si es admin o no.
        }

        public string[] redireccion(HttpSessionStateBase Session)
        {
            if (Session["esAdmin"] == null)
                return new string[] { "Index", "Login" }; //Si no esta logueado lo mando al login
            if (!Convert.ToBoolean(Session["esAdmin"]))
                return new string[] { "Index", "Home"};//Si esta logueado pero no es Admin
                                                            // lo mando a la pag principal de los Socios.

            return new string[] { "Index", "Home" };   //Si por algun error no se cumplen las condiciones,
                                                        //lo mando al login.
        }

    }
}